#pragma  once
#include "IByteStreamReader.h"
#include <map>

class __declspec(dllexport) InstructionManager 
{
    void* m_pBaseAddr;
    DWORD m_dwProcessID;
    std::map<DWORD, CString> m_instrMap;
    IByteStreamReader* m_bytesReader;

public:
    InstructionManager(IByteStreamReader* bytesReader);
    ~InstructionManager();
    void GetInstructionList();
    bool GetOneInstruction(CString& instructionStr);
    IByteStreamReader* GetByteReader()
    {
        return m_bytesReader;
    }
};